为了账号安全,请及时绑定邮箱和手机立即绑定

用一句JQuery代码实现表格的简单筛选

标签:
JQuery

    JQuery的强大之处,这里就不用讲了。这里将用一行简单的JQuery代码实现简单的表格筛选。先贴上代码:

代码   <%@ Page Language="C#" AutoEventWireup="true" CodeFile="JqueryTableFilter.aspx.cs" Inherits="JqueryTableFilter" %>    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">    <html xmlns="http://www.w3.org/1999/xhtml">   <head runat="server">       <title></title>        <script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="Script/jquery-1.3.2-vsdoc.js" type="text/javascript"></script>          <script type="text/javascript">           $(function() {           $("#Text1").keyup(function() {           var filterText = $(this).val();               $("#<%=GridView1.ClientID %> tr").not(":first").hide().filter(":contains('" + filterText + "')").show();;           }).keyup();           });       </script>   </head>   <body>       <form id="form1" runat="server">       <div style="width:60%;">           <input id="Text1" type="text" />           <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"               DataKeyNames="OrderID" DataSourceID="SqlDataSource1"               HorizontalAlign="Left" PageSize="50" >               <Columns>                   <asp:BoundField DataField="OrderID" HeaderText="OrderID" ReadOnly="True"                       SortExpression="OrderID" InsertVisible="False" />                   <asp:BoundField DataField="CustomerID" HeaderText="CustomerID"                       SortExpression="CustomerID" />                   <asp:BoundField DataField="EmployeeID" HeaderText="EmployeeID"                       SortExpression="EmployeeID" />                   <asp:BoundField DataField="OrderDate" HeaderText="OrderDate"                       SortExpression="OrderDate" />                   <asp:BoundField DataField="RequiredDate" HeaderText="RequiredDate"                       SortExpression="RequiredDate" />                   <asp:BoundField DataField="ShippedDate" HeaderText="ShippedDate"                       SortExpression="ShippedDate" />                   <asp:BoundField DataField="ShipVia" HeaderText="ShipVia"                       SortExpression="ShipVia" />                   <asp:BoundField DataField="Freight" HeaderText="Freight"                       SortExpression="Freight" />                              </Columns>           </asp:GridView>           <asp:SqlDataSource ID="SqlDataSource1" runat="server"               ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"               SelectCommand="SELECT top 50 * FROM [Orders]"></asp:SqlDataSource>       </div>       </form>   </body>   </html>

效果:


这里是经过筛选的截图;

JQuery代码就:

代码   $(function() {   $("#Text1").keyup(function() {   var filterText = $(this).val();       $("#<%=GridView1.ClientID %> tr").not(":first").hide().filter(":contains('" + filterText + "')").show();;   }).keyup();   });

里面最重要的就是JQuery的选择器:

1:$("#<%=GridView1.ClientID %> tr")选择表格的所有行;

2:not(":first"):除去第一行表头行;

3:filter(":contains('" + filterText + "')"):从上面所选择的行里面筛选出行文本中包含filterText 的行显示出来;

4:最后加一句keyup()是为了在提交后重新触发keyup事件。(但是在这里没有作用因为我用的客户端控件没有ViewState

    若是服务器端控件就会看见他的作用)。

       JQuery的选择器的强大之处,让我们能救这么简单的实现客户端的简单筛选。最后加一句关于表格筛选有JQuery插件提供

给我们选择, 但是这种简单的功能,我不会去选择加入一个JavaScript文件库,呵呵。


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消